package cn.kgc.mp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * @author 课工场
 * @date 2024/5/28
 * @description
 * 后续使用 mp 框架时  一定要严格遵循  数据库中的表和项目中实体类的一一对应关系
 *  1. 表名  -> 实体类名
 *  2. 表中的字段名  -> 实体类中的属性名
 *
 *  如果没有满足以上的对应关系 可以通过以下方式进行解决
 *   1.  id自增                    @TableId(type = IdType.AUTO)
 *   2. 实体类名和表名不一致          @TableName("sys_user")
 *   3. 属性名和表中的字段名不一致    @TableField
 *       select  id,username AS name  ,password  AS  pwd   from  sys_user
 *   4. 属性在表格不存在对应的字段    @TableField(exist = false)  忽略该字段的操作
 */
@Data
@TableName("sys_user")
public class User {

    //   声明  当前字段是主键字段  IdType.AUTO  数据库中该字段自动递增
    @TableId(type = IdType.AUTO)
    private Integer id;
    @TableField("username")
    private String name;
    @TableField("password")
    private String pwd;
    private Integer userAge;

    @TableField(exist = false)
    private Integer number;  // 实体类中所有的属性，在查询时都会作为字段名出现在查询的字段列表中

}
